This invention generally relates to cache management in a file sharing system, and more particularly, to a cache management system especially well-suited to update directories acquired by application support processors of the file sharing system.
A file sharing system includes a central file access processor and a plurality of application support processors. The file access processor manages access to a database, may be used to form directories from data in that database, and allows the support processors to acquire those formed directories. A group of application support processors may operate asynchronously, sharing the set of file resources managed by a file access processor, and the application support processors also maintain local caches in which various acquired directories may be stored. These local caches improve the performance of the application support processors by reducing the need to communicate with the file access processor for information about files in the file access processor.
Generally, a file access processor includes a service system, a data access system, and a storage access system. The service system provides a variety of services for the processor, including the initial receipt of requests, forwarding responses for file access, and dispatching an activation of the data access system. The data access system processes individual requests and maintains a set of catalogues that contain control and descriptive information concerning the set of files managed by the file access processor. These catalogues include data file control, security, integrity, concurrency, inter-relationship, recovery, status, and other control information. The storage access system manages the data blocks that comprise the data files, the set of records that comprise the catalogues, the set of locks that permit concurrency, and the grouping of work items that represent recovery units.
A group of application support processors may each acquire the same directory from the file access processor, and a user at a first of these support processors may make several changes to the directory. It is desirable that these changes themselves be transmitted to the other support processors that have acquired the same directory in order to keep these directory copies current Moreover, it is important that the recording, storing and transmission of directory change data be done in an efficient and effective manner.